package _12原子类AtomicInteger;

import java.util.concurrent.atomic.AtomicInteger;

public class Demo1 {
    public static void main(String[] args) {

        //获取一个原子类Integer,初始这为0
        AtomicInteger atomicInteger = new AtomicInteger();
        System.out.println(atomicInteger);//1

        //获取一个原子类Integer,设置为10
        AtomicInteger atomicInteger1 = new AtomicInteger(10);
        System.out.println(atomicInteger1);//10


//        int get()	获取值。
        int i = atomicInteger.get();
        System.out.println("i = " + i);
//        int getAndIncrement()	以原子方式先取值后自增1。
        int i1 = atomicInteger.getAndIncrement();
        System.out.println("i1 = " + i1);
//        int incrementAndGet()	以原子方式先自增1后取值。
        int i2 = atomicInteger.incrementAndGet();//2
        System.out.println("i2 = " + i2);
//        int addAndGet(int data)	以原子方式data与原值相加，并返回相加后的新值。
        int i3 = atomicInteger.addAndGet(10);//11
        System.out.println("i3 = " + i3);
//        int getAndSet(int newValue)	将值设置为newValue并返回旧值。
        int i4 = atomicInteger1.getAndSet(10);//1
        System.out.println("i4 = " + i4);

    }
}
